#include<iostream>

#include<vector>
#include<list>
#include<deque>

using namespace std;
#include"Stack.h"
#include"Queue.h"

void test_stack()
{
	wjz::stack<int,vector<int>> s1;
	s1.push(1);
	s1.push(2);
	s1.push(3);
	s1.push(4);
	s1.push(5);
	while (!(s1.empty()))
	{
		cout << s1.top() << " ";
		s1.pop();
	}
	cout << endl;

	wjz::stack<int, list<int>> s2;
	s2.push(1);
	s2.push(2);
	s2.push(3);
	s2.push(4);
	s2.push(5);
	while (!(s2.empty()))
	{
		cout << s2.top() << " ";
		s2.pop();
	}
	cout << endl;
}

void test_queue()
{
	wjz::queue<int> q1;
	q1.push(1);
	q1.push(2);
	q1.push(3);
	q1.push(4);
	q1.push(5);
	q1.push(6);
	while (!q1.empty())
	{
		cout << q1.front() << " ";
		q1.pop();
	}
	cout << endl;

	wjz::queue<int> q2;
	q2.push(1);
	q2.push(2);
	q2.push(3);
	q2.push(4);
	q2.push(5);
	q2.push(6);
	while (!q2.empty())
	{
		cout << q2.front() << " ";
		q2.pop();
	}
	cout << endl;
}


int main()
{
	test_queue();
	return 0;
}